package com.hk.player.core;

import java.io.Serializable;
import java.util.Objects;

/**
 * 摄像头数据对象
 *
 * @Author: zhoug
 * @Date: 2024-11-12
 * @Description:
 */
public class MonitorMediaData implements Serializable {
    /**
     * 平台类型
     * {@link MonitorPlatType}
     */
    private int platType=MonitorPlatType.UNKNOWN;
    /**
     * 摄像头唯一id
     */
    private String monitorId;
    /**
     * 摄像头名称
     */
    private String monitorName;
    /**
     * 播放地址或者摄像头的mac地址
     */
    private String playUrl;
    /**
     * 真实的播放地址
     */
    private String realPlayUrl;
    /**
     * 对讲地址
     */
    private String talkUrl;
    /**
     * 占位图地址
     */
    private String videoCoverImage;
    /**
     * 企业id
     */
    private String firmId;
    /**
     * 企业名称
     */
    private String firmName;

    public int getPlatType() {
        return platType;
    }

    public void setPlatType(int platType) {
        this.platType = platType;
    }

    public String getMonitorId() {
        return monitorId;
    }

    public void setMonitorId(String monitorId) {
        this.monitorId = monitorId;
    }

    public String getMonitorName() {
        return monitorName;
    }

    public void setMonitorName(String monitorName) {
        this.monitorName = monitorName;
    }

    public String getPlayUrl() {
        return playUrl;
    }

    public void setPlayUrl(String playUrl) {
        this.playUrl = playUrl;
    }

    public String getRealPlayUrl() {
        return realPlayUrl;
    }

    public void setRealPlayUrl(String realPlayUrl) {
        this.realPlayUrl = realPlayUrl;
    }

    public String getVideoCoverImage() {
        return videoCoverImage;
    }

    public void setVideoCoverImage(String videoCoverImage) {
        this.videoCoverImage = videoCoverImage;
    }

    public String getFirmId() {
        return firmId;
    }

    public void setFirmId(String firmId) {
        this.firmId = firmId;
    }

    public String getFirmName() {
        return firmName;
    }

    public void setFirmName(String firmName) {
        this.firmName = firmName;
    }

    public String getTalkUrl() {
        return talkUrl;
    }

    public void setTalkUrl(String talkUrl) {
        this.talkUrl = talkUrl;
    }

    @Override
    public String toString() {
        return "MonitorMediaData{" +
                "monitorId='" + monitorId + '\'' +
                ", monitorName='" + monitorName + '\'' +
                ", playUrl='" + playUrl + '\'' +
                ", realPlayUrl='" + realPlayUrl + '\'' +
                ", videoCoverImage='" + videoCoverImage + '\'' +
                ", firmId='" + firmId + '\'' +
                ", firmName='" + firmName + '\'' +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        MonitorMediaData that = (MonitorMediaData) o;
        return Objects.equals(playUrl, that.playUrl);
    }

    @Override
    public int hashCode() {
        return Objects.hash(playUrl);
    }
}
